//
//  VehicleDataParser.swift
//  xgwjinterconnection
//
//  Created by WangWeiShuo on 2025/8/29.
//

import Foundation

// 定义模型结构体，对应JSON结构
struct VehicleData: Codable {
    let gear: String       // 档位
    let alarm: String      // 报警
    let fuel: String       // 燃油液位
    let temperature: String // 水温
    let urea: String       // 尿素液位
    let vehtype: String    // 车型
}

// 解析工具类
class VehicleDataParser {
    // 解析JSON字符串
    static func parse(from jsonString: String) -> VehicleData? {
        guard let jsonData = jsonString.data(using: .utf8) else {
            print("无法将字符串转换为数据")
            return nil
        }
        
        return parse(from: jsonData)
    }
    
    // 解析JSON数据
    static func parse(from jsonData: Data) -> VehicleData? {
        do {
            let decoder = JSONDecoder()
            // 解析JSON数据到模型对象
            let vehicleData = try decoder.decode(VehicleData.self, from: jsonData)
            return vehicleData
        } catch {
            print("JSON解析失败: \(error.localizedDescription)")
            print("错误详情: \(error)")
            return nil
        }
    }
}

// 使用示例
let jsonString = """
{
"gear":"档位",
"alarm":"报警",
"fuel":"燃油液位",
"temperature":"水温",
"urea":"尿素液位",
"vehtype":"车型"
}
"""

// 解析JSON
//if let vehicleData = VehicleDataParser.parse(from: jsonString) {
//    print("解析成功:")
//    print("档位: \(vehicleData.gear)")
//    print("报警: \(vehicleData.alarm)")
//    print("燃油液位: \(vehicleData.fuel)")
//    print("水温: \(vehicleData.temperature)")
//    print("尿素液位: \(vehicleData.urea)")
//    print("车型: \(vehicleData.vehtype)")
//} else {
//    print("解析失败")
//}
